MySQL Server mit PhpMyAdmin installieren
Wir installieren uns den MySQL Server aus den Debian Paketen. Bei der Installation wird nach dem root Passwort gefragt, welches wir dann setzen müssen.
root:~# apt-get install mysql-server mysql-client
Im Anschluss daran installieren wir das Paket phpmyadmin. Dabei werden wir wieder nach dem MySQL root Passwort gefragt, was wir bei der Installation vom MySQL Server vergeben haben. Ausserdem müssen wir noch den Webserver (Apache) auswählen, für den das phpmyadmin installiert werden soll.
root:~# apt-get install phpmyadmin
Wir möchten das phpmyadmin per SSL unter folgender URL (https://phpmyadmin.example.com/) erreichbar ist. Dazu erstellen wir uns zwei VirtualHosts in einer Datei.
<VirtualHost *:80>
ServerAdmin postmaster@example.com
ServerName phpmyadmin.example.com
ServerSignature Off
DocumentRoot /var/www
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=302,L]
</IfModule>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin postmaster@example.com
ServerName phpmyadmin.example.com
ServerSignature Off
DocumentRoot /usr/share/phpmyadmin
Include /etc/phpmyadmin/apache.conf
# PHP settings - mod_fcgid.c
<IfModule mod_fcgid.c>
<Files ~ "\.php$">
FCGIWrapper /etc/apache2/fcgid/php5-cgi .php
Options +ExecCGI
</Files>
</IfModule>
CustomLog ${APACHE_LOG_DIR}/ssl_phpmyadmin.example.com_acc.log combined env=!DONTLOG
ErrorLog ${APACHE_LOG_DIR}/ssl_phpmyadmin.example.com_err.log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
Damit wir SSL nutzen können, müssen wir das Apachemodul mod_ssl erst aktivieren. Das machen wir mit folgendem Befehl.
root:~# a2enmod ssl
Nun müssen wir noch in der Datei ports.conf einen neuen VirtualHost für den Port 443 definieren. Das machen wir in der Directive <IfModule mod_ssl.c>
.
....
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443
</IfModule>
....
Nun müssen wir noch die Datei /etc/phpmyadmin/apache.conf
öffnen und den Alias /phpmyadmin
entfernen.
....
#Alias /phpmyadmin /usr/share/phpmyadmin
....
<Directory /usr/share/phpmyadmin>
....
AllowOverride None
Order allow,deny
allow from all
....
</Directory>
....
Nun aktivieren wir den VirtualHost für phpmyadmin und starten den Apache Webserver neu.
root:~# a2ensite phpmyadmin
root:~# service apache2 restart